Generating procedural textures with the aid of particles

ABSTRACT

System and Method for generating textures on an object on the basis of the particles emitted by a particles engine, including: an access to data of a particles emitter, of particles emitted, of target object, of traces, and of graphical effects; an animation simulation module provided so as to perform a simulation of emission and of displacement for each of the particles provided; a tracer module provided for generating a trace on the surface of a target object corresponding to the displacement of a particle along said surface after an impact of the particle against the target object with the aid of the traces data and of the target object data; and a physical parameters integrator module provided for generating a new set of textures for said object taking into account the date of the object, the data of each new or modified trace, and the data of the corresponding graphical effects.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/905,545, filed on Apr. 25, 2016, which is a National Stage Entry intothe United States Patent Trademark Office from International PCT PatentApplication No. PCT/IB2014/001327, having an international filing dateof Jul. 15, 2014, and which claims priority to French Patent ApplicationNo. 13/01709, filed Jul. 18, 2013. Each of the aforementionedapplications is hereby incorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to a system and a method for generatingtextures on an object using particles projected onto an object.

DESCRIPTION OF THE RELATED ART

In the field of computer graphics a myriad of tools have been used formany years to apply colors to objects. Conventionally, a color isapplied as a layer, in the manner of a layer of paint applied to anactual physical substrate.

The application of a layer of color typically produces a uniform result.To obtain variations in color, intensity or opacity, a user mustmanually adjust the color settings at each point, thereby creating anaccurate and detailed color mapping. Various graphical tools such asvirtual brushes and applicators are made available to the user whoperforms such a “mapping”.

To change a previously established “mapping”, the user employs the sametypes of tools in order to apply the changed parameters point by point,and thus to generate a modified colorimetric result. Even though theuser can use a frame to select multiple points to be changed in asimilar fashion, the process must be carried out manually for eachimage, and therefore requires a considerable amount of time.

Different filters are also known, which may be applied to one or morecolors of an image. Conventionally, such filters act to change thecolors based on parameters that are intrinsic to the colors themselves.These filters therefore allow effects to be created based on either thechosen environment or style imposed by a user or according to theoriginal parameters of the colors to be processed.

Thus, the process of creating or modifying object colors does not allowthe parameters or characteristics of the objects on which the color isapplied, nor the environment in which the objects are arranged in thescene, to be taken into account. Thus, to create realistic effects, auser must proceed manually in order to determine the target points orareas, the parameters to be modified, and the level of modification ofthe selected parameters. If one or more objects from a scene or scenesare to be processed, considerable time may be needed to carry out therequired operations.

For example, for the coloring of an area of wooden material in order toimpart it with a realistic wooden appearance, a user must perform theparametric adjustments in a meticulous and accurate manner As thecoloring tools do not take material properties or interactions betweenobjects and their environment into account, a user wishing to create avisual effect based on a material's reaction or behavior must firstlyenvision or imagine the desired effect in a realistic manner, and thenapply the color changes in accordance with the settings of the existingcolors. Thus, if a color is applied to an object, its coloring impactwill be the same on all areas of the object. For example, if the objecthas a metallic portion, a different wooden portion, and a plastic area,the applied color has the same effect on all of these areas, whereas ona real object, the effects produced on each of the materials will vary,or even be very different, depending on the circumstances.

FR2681967 discloses a method for modifying the colors of an imagedisplayed on a display device based on the determination of colorimetricvalues. The method includes selecting at least one color indicative ofat least one pixel in the image comprised of a plurality of pixels,determining the colorimetric values of said at least one color,selecting a second color and determining the colorimetric values of thesecond color, and modifying the colorimetric values of a plurality ofpixels in the image so that for any given pixel of said plurality havingcolorimetric values which correspond to the colorimetric values of saidat least one color, the colorimetric values of the given pixel aremodified so that they correspond to the colorimetric values of thesecond color. The applied color is identical, whatever the nature of theobject (plastic, wood, etc.) and does not take textures into account,but only color variations in an area selected by the user.

EP0884694 discloses a method for adjusting colors in digital images,including correcting “red eyes” in photographs. The pixel color data areadjusted by identifying the pixels in a digital image comprisingoriginal color data corresponding to the predetermined color. However,the color is applied automatically, based on colorimetric data only, inparticular the colors of the iris.

W02008066880 discloses a method for obtaining an original set of two ormore original colors associated with an item of artwork. For thatpurpose, an input set of one or more user-selected colors is received.For each original color, the original color is mapped onto the derivedcolors. The plurality of derived colors is obtained based on one or moreuser-selected colors.

W02012154258 discloses a three-dimensional colorimetric coloring tool.Each pixel in the image comprises a set of pixel values in athree-dimensional color space. Even though the applied color allows awide range of colors to be used, it does not vary depending on thematerial on which it is applied.

U.S. Pat. No. 7,557,807 discloses a computer-implemented method whichcomprises generating an object having certain characteristics andemitting a particle. The path of the particle is checked to determinewhether it will interact with the object. In the case of a collisionbetween the particle and the object, the characteristics of the objectare modified, in particular to simulate the ageing and erosion behaviorsof the object. The described method involves implementing pointwisemapping of the object. A y-ton map is then applied to each point.

There is therefore a need to overcome these various disadvantages.

SUMMARY OF THE INVENTION

An object of the invention is to provide a system and method forimproving the efficiency and productivity of graphic design tools.

Another object is to provide a system and graphical method forincreasing the flexibility and graphics capabilities when generatingcolors or renditions.

Another object of the invention is to provide a system and graphicalmethod for increasing the realism of the represented items.

Yet another object of the invention is to provide a system and methodfor improving the interactivity between the rendition of a representedobject and its environment.

Yet another object of the invention is to provide a system and methodfor creating a contextual editing mode which takes environmentalparameters into account.

To achieve this object, the invention provides various technical means.For example, the invention first provides a system for generatingprocedural textures on an object using the particles emitted by aparticle engine, comprising:

-   access to particle emitter data;-   access to emitted particle data;-   access to data relevant to target objects defined by architectural    parameters and procedural textures;-   access to trace data;-   access to graphical effects data;-   a microprocessor and control instructions;-   an animation simulator module, adapted to perform emission and    displacement simulation for each of the provided particles using the    particle emitter data and emitted particle data;-   a tracer module for generating a parameterized trace which produces    one or more physical and/or chemical changes in properties of at    least the surface of said object, so as to modify at least one of    its parameters, in particular a visible characteristic;-   a physical parameter integrator module for:-   i) performing graphical effects based on the obtained object data    and trace data;-   ii) generating a new texture set for said object, taking into    account the object data and the graphical effects previously    obtained.

With such an arrangement, a system can take into account a parametricarchitecture in order to determine the influence of particles projectedonto objects. This parametric architecture makes use of the physicaland/or chemical elements inherent to the components and properties ofthe particles and objects. In particular, due to the fact thatparameterized objects and their textures can be modified according toparameterized traces based on physical and/or chemical phenomena, ascene can be implemented and evolve in accordance with a much greaternumber of parameters than just the colorimetric parametersconventionally accounted for, thus dramatically increasing the realismof the visual effects produced.

According to an advantageous embodiment, the tracer module comprises arule selection module and an implementation module for applying the rulein order to generate the resulting trace data.

According to another advantageous embodiment, the tracer modulecomprises a trace mixer submodule for modifying a trace on which a newactive particle is brought into interaction.

Advantageously, the system further comprises a temporal storage modulefor keeping data allowing a texture set to be generated again for anobject for which one or more parameters are modified, or to again obtaina texture set which had previously been generated.

Also advantageously, the system further comprises an input module foruser data that may affect the data from the simulation module.

According to yet another embodiment, the system further comprises accessto data relevant to global parameters that may influence a plurality ofemitted particles and/or at least one object in the area of influence ofthese global parameters.

The invention also provides a method for generating procedural textureson an object using particles emitted by a particle emitter, comprisingthe following steps:

-   an animation simulator module receives data from at least one    particle emitter, data relevant to particles to be emitted by the    emitter, data relevant to at least one target object, which is    defined by architectural parameters and procedural textures, liable    to be impacted by said emitted particles, and determines a    trajectory for each of the particles to be emitted as a function of    the emitter data and particle data;-   for each particle colliding with a target object, a tracer module    generates data relevant to at least one trace on the surface of said    object based on the object data and particle data;-   a physical parameter integrator module performs the graphical    effects based on the object data and trace data;-   for each object having undergone at least one particle impact, the    physical parameter integrator module generates a new set of    textures, taking into account the object data and the previously    obtained graphical effects.

In an alternative embodiment, the integrator module generates thetextures of the new set by performing the graphical effects based on theobject data and trace data.

According to another embodiment, for each active particle, a ruleselection module selects a rule to be applied, and a rule implementationmodule evaluates said rule according to the target object parameters inorder to generate the resulting trace data.

According to yet another alternative embodiment, for each tracemodification rule a particle selection module selects particles affectedby the rule to be applied, and a rule implementation module evaluatessaid rule according to the particle parameters and the target object inorder to generate the resulting trace data.

DESCRIPTION OF THE DRAWINGS

Fully detailed embodiments are given in the following description, inconjunction with FIGS. 1 to 5, which are presented only for the purposesof non-limiting examples and in which:

FIG. 1 schematically shows an example of a texture generator systemaccording to the invention;

FIG. 2 is a block diagram showing the main steps of the texturegenerating method according to the invention;

FIG. 3 is a block diagram showing in detail step 150 of FIG. 2;

FIG. 4 is a block diagram showing in detail a first trace generationmode;

FIG. 5 is a block diagram showing in detail a second trace generationmode.

In the following description, substantially identical or similar itemswill be designated by the same reference numerals.

DETAILED DESCRIPTION OF EMBODIMENT(S) OF THE INVENTION

By “physical parameter” is meant any physical and/or chemical item,property or characteristic capable of being measured or observed ordetected or quantified, which characterizes an object, a particle, anenvironment, an emitter, etc.

By “parametric architecture” is meant the set of parameters that definethe physical, chemical (components, properties, visual appearance of anobject, texture, etc.) and behavioral characteristics of an item (ink,texture, object, etc.).

By physical “particle” (or parameterized particle) is meant the physicaland/or chemical elementary unit in its state when the projection isperformed (solid, liquid, gaseous or a mixture of these phases) which,when projected onto an object, generates a parameterized trace thatproduces one or more physical and/or chemical changes in properties atleast on the surface of this object, in particular textures of thatobject, so as to modify at least one of its physical parameters orcharacteristics, in particular a visible characteristic.

By “particle emitter” is meant an item, in particular a virtual item,whether visible or not in a scene, for projecting one or more physicallyparameterized particles onto an object, which has also been physicallyparameterized, such as a gun, spray gun, spray, nozzle, emitter,projector (for photons, or light or heating particles, etc.) etc. Ascene may comprise one or more emitters. An emitter's parameterspreferably comprise its position in the scene, and the orientation andangle of emission or projection of the particles.

By “trace” (or parameterized trace) is meant a point or path (a set ofpoints) on the surface of a target object generated by the movement ofone or more parameterized particles on the object due to an impact orcollision therewith.

By “graphical effect” is meant a description of the physical and/orchemical process, which determines how one or more traces generated on atarget object affect this object's texture. By way of illustration, someexamples of graphical effects are as follows:

-   a trace of liquid applied to bare wood is absorbed by the wood.    Alternatively, this causes the wood's hue to darken;-   a liquid applied to a varnish or plastic is not absorbed at all and    produces a “bead of liquid” effect on the surface of the material;-   heat applied to a painted material causes the paint to peel and then    burn depending on the temperature set by the user, and optionally    cause combustion of the material on which the paint is applied if    the latter is combustible;-   application of an acid to, or sandblasting of a glossy plastic    material will gradually roughen it, thus making it less glossy and    increasingly rougher.

By “procedural texture” is meant a texture defined using algorithmsand/or mathematically, and displayed by a rendering engine whichtransforms the mathematical data into a conventional image format suchas bitmap, for example.

Through the method and system described in the following, the variousstages of an evolutionary process can be determined and presented

FIG. 1 illustrates an exemplary system for generating proceduraltextures according to the invention. The system comprises at least onemicroprocessor 2 suitable for the implementation of instructions in aninstruction memory 3. A plurality of modules are advantageously providedthrough the implementation of the instructions by the microprocessor. Ananimation simulator module 4 allows the data related to the movement ofvarious items in the scene to be obtained. This animation data furtherincludes the spatial coordinates over time, events such as collisions,deactivations, etc., for each of the items.

A tracer module 5 can determine the particle motion data on a targetobject after the particle has collided with the object. A physicalparameter integrator 6 makes it possible, using the physical parametersof interest, to generate a new set of textures for the object subjectedto the various items and parameters.

A mixer module 7, which is optional, allows the data of severalsuperimposed traces to be taken into account, when several tracesinclude points or areas on common paths. The mixer can define, dependingon the influence of each trace, a mixed or global trace portion. Thelatter will be used by the integrator in the relevant area. Toillustrate the function of the trace mixer, the following non-limitingexamples are provided:

-   liquid traces which flow “down” and merge when they become too    close;-   “crack” traces, which stop with only the widest remaining when they    merge (cracks do not generally “intersect”);-   impact traces that are completely independent of one another and do    not “mix together”.

A user input section 8 can receive data from an external source, suchas, in particular from a user wishing to interact with the physicalphenomena in progress or to come.

An optional backup module 9 allows temporal data to be kept, which arerelated to a time scale. For example, this module allows an animationsimulation to be rerun after changing one or more parameters, byperforming only those operations required by the changed data. It isthus possible to simply and quickly carry out several consecutivesimulations based on a previous simulation, or to find a previouslyperformed simulation.

A bus 10 is provided for data transfers among the various modules andmemory elements described below.

An emitter memory element 11 contains data relevant to at least oneparticle emitter or engine. This data comprises, for example, thespatial coordinates and orientation of the emitter as a function oftime, particle emission cone, emission rate, velocity and/or strength ofemission, etc.

The emitted particle data is contained in a particle memory element 12.This data includes, for example, the physical characteristics of theparticles such as shape, dimensions, weight, adhesion, elasticity, etc.

A target object data item 13 stores the data relevant to target objectsthat may be subject to impact during an animation simulation. This dataincludes, for example, the physical characteristics of the targetobjects such as shapes, dimensions, weights, and various characteristicsrelated to the surface and textures of the objects.

A trace data element 14 stores the data traces generated by theparticles on a given target object. The data may include a plurality ofparameters such as width, depth and profile as a function of positionalong the trace, roughness, porosity, etc. Generally, any parameter thatmay influence the texture characteristics of the object in question canbe taken into account. Indices can be assigned to each of the parametersin order to weight their relative significance levels.

A graphical effects data item 15 stores the data relevant to thegraphical effects implemented in animation simulations. These graphicaleffects may include parameters for coloring, intensity, brightness,particle size, etc.

The above-described memory elements and/or the various modules can becombined into one or more components and one or more modules withoutsignificantly affecting the system's operation.

An optional item of global parameters 16 includes parameters that mayaffect several items in the scene, such as data related to temperature,pressure, humidity, physical force (magnetic, gravitational or thelike), etc.

A target object texture data item 17 stores the data relevant to the newtextures of target objects that may be subject to impact during ananimation simulation. Any available original texture data can also becontained in this memory element 17.

FIG. 2 shows a flowchart of the main steps of the method for generatingtextures according to the invention. At step 110, the system and usefuldata are initialized. At step 120, which is optional, any available userdata can be received to adjust or correct data or parameters to beprocessed by the animation simulator module 4 depending on a particularuser need or desire.

Step 130, in the animation simulator module 4, includes receiving datarelated to particles, or emitters, the object or objects, and anyenvironmental data. The animation simulator module 4 therefore receivesall of the parameters which allow it to perform an animation of thescene. This animation simulation comprises a step of calculatingtrajectories of the items liable to move in the scene, such as theparticles and any objects and/or emitters. Steps 141 to 148 show thedifferent steps in this trajectory calculation phase in greater detail.After phase 140, phase 150 provides for the physical parameterintegration and the generation and/or adaptation of a new set oftextures for the object or objects affected by the events occurring inthe scene. This phase is shown in FIG. 3 in more detail.

Trajectory calculation preferably starts with a test performed in step141, where it is checked whether the relevant particle is active ordeactivated. If it is deactivated, step 145 is performed in order toupdate the relevant particle data. In such cases, the data related tothe particle comprises a parameter related to the deactivation of saidparticle. If the particle is active, a second test, at step 142, checkswhether the particle collides with an object. If the test produces anegative result, step 145 is performed in order to update the relevantparticle data. In case of collision, a trace generation phase 143 isperformed. A trace modification phase 144 may then possibly be carriedout in the case where one or more traces are affected by a new collisionor trace. These phases are shown in detail in FIGS. 4 and 5. Step 145next ensures that the data affected by the preceding steps or phases areupdated. This, in particular, is the case of the particle and/or tracedata. The calculation phase ends at step 146.

Alternatively, the test at step 141 is followed by a test 147 to checkwhether the particle being processed generates or not a possible newparticle or a new emitter. If this test is positive, step 148 is thenperformed to update the emitter data as a function of the particlegeneration mode. Otherwise, step 145 is performed in order to update therelevant particle data. Test 147 is also performed in the case where thecollision test with an object from step 142 yields a positive result.

FIG. 3 shows in greater detail the most important steps of phase 150which consists in integrating the physical parameters and generatingand/or adapting textures resulting from events taking place in thescene. At step 151, physical parameter integrator 6 receives applicabletrace data, object data and graphical effects data.

In step 152, the integrator implements the graphical effects whichcorrespond to the received data, based on the object data and therelevant trace data, for example, flaking paint, corrosion (if metal),burn, combustion, trace interruption for porous materials, andnon-absorbent sagging. Step 153 checks whether one or more other tracesare taken into account. If this is the case, the trace mixer module 7pools the trace parameters for those areas that are shared by severaltraces.

Any user data is taken into account in step 155. Finally, once all ofthe iterations have been performed, the physical parameters areintegrated by integrator 6 in order to generate and/or modify theobject's textures.

As previously mentioned, phase 143 is detailed in FIGS. 4 and 5, insteps 200 to 250 for the case of FIG. 4, and in steps 300 to 350 for thecase of FIG. 5.

In FIG. 4, for each active particle (step 200), tracer module 5 selectsa rule to be applied depending on the type of particle. The rules enablethe determination of the type of influence or physical effect therelevant particle will have on the generated trace, and ultimately onthe textures obtained for the object interacting with said particle. Atstep 230, the rule is evaluated according to the object parameters. Atstep 240, a trace is generated or changed according to the appropriaterule. A test at step 220 checks whether or not another rule applies.

In FIG. 5, for each trace modification rule (step 300), tracer module 5selects particles affected by the rule. In step 330, the rule isevaluated based on the particle parameters and the object. In 340, atrace is generated or modified according to the appropriate rule. A testin step 320 checks whether or not another particle applies.

Alternatives And Other Embodiments

In the above, the system and method of the invention have been disclosedin a working environment suitable for an editing tool, for a user whointends to create or modify the rendition of one or more objects.

Alternatively, the system and method according to the invention are usedin a standalone mode, for generating renditions of objects usingphysical parameters that are predetermined or may be calculated by thesystem itself, for example based on intermediate results. Such exemplaryembodiments are advantageously used for video games or movies, inparticular games or movies in which textures are rendered or generatedby a procedural texture generation engine. Document W02012014057, whichis incorporated by reference herein, describes an example of such arendering system and process.

The system and method according to the invention allow renditions ofobjects to be generated and/or modified, taking into account thetechnical (physical, chemical, thermodynamic, etc.) factors inherent tothe objects themselves as well as the scene's environment.

For example, to create a corrosion effect on an object, an emitter mayproject particles parameterized with parameters that are related tocorrosion. Among these physical parameters (other than color data) thebehavior of objects with respect to the projected particles, that is tosay, the interactions between the different physical items can forexample be such that materials such as plastic do not react to corrosioneffects, steel develops corroded areas, copper oxidizes, etc.

According to the embodiments, certain parameters can be assigned eitherto parameterized particles, or to objects, or to the environment, orelse, to the graphical effects. The parametric distribution orarchitecture can also vary in order to produce comparable renditions.

In another exemplary use of the method and system according to theinvention, the particles projected against the objects only havenon-colorimetric parameters, such as thermal energy or heat data,pressure data, etc.

In one example where an emitter projects water, the target object with aplurality of different materials may have different reaction modesaccording to the materials on which the traces evolve. The traces may bedifferent, and the graphical effects may also be different, so that thefinal textures take the parameters of the various materials of thetarget into account.

In another example, hot particles are emitted onto a multi-materialbody. The traces allow a kind of temperature “mapping” to be created onthe surface of the object. This “mapping”, to which the graphicaleffects are applied, makes it possible to produce final textures whichtake different materials into account.

Table 1 below illustrates examples of parameters and rules allowing thediscussed examples to be implemented.

TABLE 1 Example of physical parameters Particle Graphical trajectoryCalculation of effect to be Adapted Particles Emitter Object Environmentcalculation trace on object applied texture Water Water Metal + NeutralTrajectory Metal: sagging Metal: corrosion Object texture gun Wood +data in Wood: absorbs Wood and PVC: with applied PVC Body space PVC:sagging wetting effect effect Burning Torth Metal + Neutral TrajectoryMapping of Metal: non effect Object texture gas Wood + data in tempaturePVC: melts with applied PVC Body space onto object Wood: burnt areaseffect Projectile Gun Spaceship Neutral Trajectory Points of Crater formon Object texture data in impact on surface + ripples with applied spacesurface effect

Temporal backup advantageously makes it possible to go back into aprocess in order to recover one of the multiple previous states. Thisalso allows a process to be rerun by modifying only one or a fewparameters, while advantageously keeping the other parameters unchanged,thus avoiding having to parameterize all of the data again. It is thuspossible, for example, to easily and quickly compare results obtained byonly modifying some of the parameters.

For example, it is possible to change a particle characteristic (e.g.color, size, la hardness, temperature, etc.) for one or more previouslyprojected particles during the process.

The above-described figures are given by way of non-limiting example ofthe present invention.

The reference numerals in the claims have no limiting character. Thewords “comprise” and “include” do not exclude the presence of itemsother than those listed in the claims. The word “a” preceding an itemdoes not exclude the presence of a plurality of such items. In addition,the above-described system and method advantageously operate in amulti-channel configuration, that is to say, by processing severaltextures (diffuse, normal, etc.) at each step.

1-10. (canceled)
 11. A method comprising: determining particle parameters for virtual particles to be emitted; determining emitter parameters for a virtual particle emitter that emits the virtual particles; dynamically emitting, by the virtual particle emitter, the virtual particles onto a target object within a scene in accordance with movement of the virtual particle emitter within the scene based on user input; determining trajectories for the virtual particles along the target object as a function of the emitter parameters, the particle parameters, and the movement of the virtual particle emitter; generating, for virtual particle impacts with the target object, parameterized traces along one or more surfaces of the target object based on the determined trajectories; generating graphical effects along the one or more surfaces of the target object based on the parameterized traces; generating a set of procedural textures for the target object, based on the graphical effects; and integrating the set of procedural textures with the target object.
 12. The method of claim 11, wherein dynamically emitting, by the virtual particle emitter, the virtual particles onto the target object within the scene in accordance with movement of the virtual particle emitter within the scene based on user input comprises emitting the virtual particles from a brush as the brush is moved about the scene based on user input.
 13. The method of claim 12, wherein generating the graphical effects along the one or more surfaces of the target object based on the parameterized traces comprises coloring the target object along the parameterized traces.
 14. The method of claim 13, wherein generating the graphical effects along the one or more surfaces of the target object comprises mixing colors of two or more virtual particles when the two or more virtual particles collide.
 15. The method of claim 12, further comprising: determining a material of the target object; determining an object rule based on the material of the target object; and generating the parameterized traces along one or more surfaces of the target object based on the determined trajectories and the object rule.
 16. The method of claim 15, wherein: determining the material of the target object comprises determining that the target object comprises wood; determining the object rule based on the material of the target object comprises determining that the target object will absorb one or more virtual particles; and generating the parameterized traces along the one or more surfaces of the target object based on the determined trajectories and the object rule comprises ending a parameterized trace on the target object based on the one or more virtual particles being absorbed.
 17. The method of claim 15, wherein: determining the material of the target object comprises determining that the target object comprises plastic; and determining the object rule based on the material of the target object comprises determining that one or more virtual particles will bead on the target object and not be absorbed.
 18. The method of claim 11, wherein generating, for virtual particle impacts with the target object, the parameterized traces along one or more surfaces of the target object based on the determined trajectories comprises generating liquid traces that flow down the target object.
 19. The method of claim 18, wherein generating the parameterized traces along one or more surfaces of the target object based on the determined trajectories comprises merging two or more liquid traces when the two or more liquid traces are within a threshold distance of each other.
 20. A system comprising: one or more processors configured to cause the system to: determine particle parameters for virtual particles to be emitted; determine emitter parameters for a virtual particle emitter that emits the virtual particles; dynamically emit, by the virtual particle emitter, the virtual particles onto a target object within a scene in accordance with movement of the virtual particle emitter within the scene based on user input; determine trajectories for the virtual particles along the target object as a function of the emitter parameters, the particle parameters, and the movement of the virtual particle emitter; generate, for virtual particle impacts with the target object, parameterized traces along one or more surfaces of the target object based on the determined trajectories; generate graphical effects along the one or more surfaces of the target object based on parameterized traces; generate a set of procedural textures for the target object, based on the graphical effects; and integrate the set of procedural textures with the target object.
 21. The system of claim 20, wherein the one or more processors are further configured to cause the system to: determine a first trajectory of a first particle at a first time period based on a first set of spatial coordinates of the virtual particle emitter; wherein a first parameterized trace along the one or more surfaces of the target object at first location corresponds to the first trajectory of the first particle at the first time period.
 22. The system of claim 21, wherein the one or more processors are further configured to cause the system to: determine a second trajectory of a second particle at a second time period based on a second set of spatial coordinates of the virtual particle emitter; wherein a second parameterized trace along the one or more surfaces of the target object at second location corresponds the second trajectory of the second particle at the second time period.
 23. The system of claim 22, wherein the one or more processors are further configured to cause the system to: determine that the first location and the second location overlap; and generate a graphical effect on the target object based on the first and second parameterized traces by merging the first and second parameterized traces.
 24. The system of claim 23, wherein the one or more processors are configured to cause the system to generate the graphical effect by mixing a color of the first particle and the second particle.
 25. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computing device to: determine particle parameters for virtual particles to be emitted; determine emitter parameters for a virtual particle emitter that emits the virtual particles; dynamically emit, by the virtual particle emitter, the virtual particles onto a target object within a scene in accordance with movement of the virtual particle emitter within the scene based on user input; determine trajectories for the virtual particles along the target object as a function of the emitter parameters, the particle parameters, and the movement of the virtual particle emitter; generate, for virtual particle impacts with the target object, parameterized traces along one or more surfaces of the target object based on the determined trajectories; generate graphical effects along the one or more surfaces of the target object based on parameterized traces; generate a set of procedural textures for the target object, based on the graphical effects; and integrate the set of procedural textures with the target object.
 26. The non-transitory computer-readable medium of claim 25, further comprising instructions that, when executed by the at least one processor, cause the computing device to determine the particle parameters for virtual particles by receiving user input specifying one or more of a particle size, a particle deactivation parameter, or a particle color.
 27. The non-transitory computer-readable medium of claim 25, further comprising instructions that, when executed by the at least one processor, cause the computing device to determine the emitter parameters for the virtual particle emitter based on a user selection of the virtual particle emitter from a plurality of virtual particle emitters.
 28. The non-transitory computer-readable medium of claim 25, further comprising instructions that, when executed by the at least one processor, cause the computing device to determine whether to apply gravitational forces to the virtual particles based on the emitter parameters associated with the virtual particle emitter.
 29. The non-transitory computer-readable medium of claim 25, wherein the virtual particle emitter comprises one of a brush or spray gun.
 30. The non-transitory computer-readable medium of claim 25, further comprising instructions that, when executed by the at least one processor, cause the computing device to generate the graphical effects along the one or more surfaces of the target object according to a temperature mapping associated with the parameterized traces of the virtual particles emitted onto the target object. 